原码、补码以及定点数运算
做而论道_CS:
----------------------
实际上,任意负数(-X)的补码,都是:0 - X。
你用二进制简单算一下,立刻就能得到结果。
(-128 的 8 位补码,也就是这样求出来的。)
同理,任意正数(+X)的补码,也都是:0 + X。
这还用算?
0 + X,不就是 X 吗?
即,零和正数的补码,就是 X 本身!
综合一下,就是:【 补码 = 0 + X 】。
这就是 “补码的定义式”。
----------------------
求补码,就是这么简单。
机器数真值符号位原码反码取反加一符号位不变正数三码相同模同余补码加减之后还是补码...
这些知(垃)识(圾),并无任何用处。
计算机专家说这些,不过是 “拿个鞋拔子当如意” 而已。
(在此向刀郎表示一下敬意。)
你就是把这些都背熟了,也不会明白 “加法代替减法” 是怎么得来的。
======================
由补码,换算到十进制数,怎么弄?
这也是极其简单的事!
只需记住:【补码首位的权,是负数】即可。
一般的八位二进制数,各个位的权是:
128、64、32、16、8、4、2、1;
如果是八位的补码,各个位的权则是:
-128、64、32、16、8、4、2、1。
如果,有一个补码:1110 0000,
它就代表十进制数:-128 + 64 + 32 = -32。
再有,另一个补码:0110 0000,
它代表十进制则是:0 + 64 + 32 = +96。
仅仅使用【进制转换】,就完事了!
======================
数值和补码的互相转换,就是这么简单!
你只要学过二进制,你就可以转换了。
根本就不需要学习 “什么什么教程”。
这些个专家学者老师,太能忽悠了!
比老赵,还要胜出许多。。。
|